Estimates of a time varying parameters are often required from a plurality of noisy measurements of that parameter. A standard technique for providing these estimates is called exponential smoothing. Exponential smoothing is essentially a simple average that weights recent measurements more heavily than earlier measurements. An estimate of the parameter is adjusted towards each new measurement according to the equation:ki=a xi+(1−a)ki-1In the above equation ki is the new estimate, ki-1 is the current estimate and xi is the measurement.
The configurable step size a controls the size of the adjustment. Exponential smoothing is used in a wide range of applications.
A disadvantage with the exponential smoothing technique arises when measurements do not occur at fixed intervals. The above exponential smoothing technique does not provide any way of discounting old measurements or give any indication of the age of measurements that could be used for controlling old measurements.
One simple technique for discounting old measurements is discounting on the basis of how many measurements have been received after the measurement in question. The assumption with this technique is that measurements are received on a regular or semi-regular basis. For example, if there are two physical clusters, one of which receives I/Os more frequently than the other, the smoothed measurement of the response time of the frequently accessed cluster will react more quickly to changes in the measured parameter than the infrequently accessed cluster. If left uncorrected these changes cause unpredictability.
Another disadvantage is that the smoothing equation given above requires an initial estimate of the parameter before the algorithm is run. After this initial estimate exponential smoothing proceeds as if the estimate were as accurate as the smoothed average of many measurements. The exponential smoothing relies on the assumption that the estimate is accurate. This assumption is unrealistic in situations where system architects have little or no prior knowledge of the parameter being measured.